package com.rs.sm;

//import com.alibaba.fastjson.JSONObject;
//import com.controller.UnionCertAppAPI;
import java.io.File;
import java.io.IOException;
import org.bouncycastle.util.encoders.Hex;

/**直接替换代码：原来的不适合Java高的版本！
* */
public class Encoder {
    public Encoder() {
    }

//    public static String sm2(String plainText, String keyCode, String unit, String ip, int port) {
//        String result = null;
//        String initJson = UnionCertAppAPI.init(unit, ip, port);
//        JSONObject jsonObject = JSONObject.parseObject(initJson);
//
//        try {
//            if ("0000".equals(jsonObject.getString("RESULTCODE"))) {
//                String appName = "fjrs." + keyCode + ".1";
//                initJson = UnionCertAppAPI.UnionAppPKEncrypt(unit, plainText, appName);
//                jsonObject = JSONObject.parseObject(initJson);
//                if ("0000".equals(jsonObject.getString("RESULTCODE"))) {
//                    result = jsonObject.getString("DATA");
//                }
//            }
//        } catch (Exception var9) {
//            Exception e = var9;
//            e.printStackTrace();
//        }
//
//        return result;
//    }


    public static String sm3(String plainText) {
        byte[] md = new byte[32];
        byte[] msg1 = plainText.getBytes();
        SM3Digest sm3 = new SM3Digest();
        sm3.update(msg1, 0, msg1.length);
        sm3.doFinal(md, 0);
        return new String(Hex.encode(md));
    }

    public static String ecb(String plainText, String key) {
        SM4Utils sm4 = new SM4Utils();
        sm4.hexString = false;
        sm4.secretKey = key;
        return sm4.encryptData_ECB(plainText);
    }

//    public static byte[] ecb(File file, String key) throws IOException {
//        SM4Utils sm4 = new SM4Utils();
//        sm4.hexString = false;
//        sm4.secretKey = key;
//        return sm4.encryptData_ECB(file);
//    }

//    public static String cbc(String plainText, String key) {
//        SM4Utils sm4 = new SM4Utils();
//        sm4.hexString = false;
//        sm4.secretKey = key;
//        return sm4.encryptData_CBC(plainText);
//    }
//
//    public static byte[] cbc(File file, String key) throws IOException {
//        SM4Utils sm4 = new SM4Utils();
//        sm4.hexString = false;
//        sm4.secretKey = key;
//        return sm4.encryptData_CBC(file);
//    }
}
